From: Florian Müllner Date: Sat, 3 Sep 2016 20:24:29 +0000 (+0200) Subject: telepathyClient: Always clear pending messages on destroy X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~730 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=06d0e7d74a277a4eb72c003809baef281763d093;p=gnome-shell.git telepathyClient: Always clear pending messages on destroy Since commit 82950ecea, we acknowledge pending messages when closing a chat notification for a channel we are handling to prevent the channel from popping up again immediately. While this isn't an issue for channels we don't handle, the unread messages of the destroyed notification are still considered for the messages indicator in the top bar, which is clearly confusing (in particular when we end up showing the indicator without any notifications in the list). As it's arguably correct to not meddle with a channel handled by someone else, just reset the cache of pending messages to address this issue. https://bugzilla.gnome.org/show_bug.cgi?id=770888 --- diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js index f07e599c1..927ca456e 100644 --- a/js/ui/components/telepathyClient.js +++ b/js/ui/components/telepathyClient.js @@ -475,6 +475,11 @@ const ChatSource = new Lang.Class({ this._channel.close_async(function(channel, result) { channel.close_finish(result); }); + } else { + // Don't indicate any unread messages when the notification + // that represents them has been destroyed. + this._pendingMessages = []; + this.countUpdated(); } // Keep source alive while the channel is open